package com.wn.demo03;

import java.util.Arrays;
import java.util.List;

/**
 * @author yellow Docter
 * @date 2024 -06-17
 * @desc
 *   流的中间操作
 *       映射
 *       排序
 */
public class Demo03 {

    static List<Person> persons = Arrays.asList(
            new Person("马云", 48, 2000d),
            new Person("马化腾", 50, 3000d),
            new Person("雷军", 46, 4000d),
            new Person("刘强东", 47, 5000d),
            new Person("张朝阳", 50, 6000d),
            new Person("张朝阳", 50, 6000d),
            new Person("张一鸣", 50, 7000d),
            new Person("张一鸣", 50, 7000d)
    );

    //方法的引用 lambda表达式的特殊情况进一步简写
    //不要纠结这个写法  会写lambda表达式 就可以 其他的交给 IDEA
    public static void main(String[] args) {

        //把集合中的 所有的 大于5000的名字获取到
        persons.stream()        //创建流
                .filter(person -> person.getSalary() > 5000 )
                .distinct()
                .map(Person::getName)   //中间操作 （方法的引用 lambda表达式的特殊情况进一步简写）
                .forEach(System.out::println); //终止操作

    }

}
